package com.cloud.job.report;

import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
import com.cloud.job.service.IArealDistributionService;
import com.cloud.job.service.IEvStatisticsService;
import com.cloud.job.service.IVehicleAlarmService;
import com.cloud.job.service.IVehicleMessageDailyService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;

/**
 * @author 杨斌
 * 2025-02-2025-02-12
 */
@Component
public class VehicleReport {

    @Resource
    private IVehicleMessageDailyService vehicleMessageDailyService;

    @Resource
    private IVehicleAlarmService vehicleAlarmService;

    @Resource
    private IArealDistributionService arealDistributionService;

    @Resource
    private IEvStatisticsService evStatisticsService;

    @JobExecutor(name = "export_mail_offline")
    public void exportMailOfflineList() {
        vehicleMessageDailyService.exportMailOfflineList();
    }

    @JobExecutor(name = "export_mail_alarm_report")
    public void exportMailAlarmReportList() {
        vehicleAlarmService.exportMailAlarmReportList();
    }

    @JobExecutor(name = "export_mail_areal_distribution")
    public void exportMailArealDistributionList() {
        arealDistributionService.exportMailArealDistributionList();
    }

    @JobExecutor(name = "export_mail_province_distribution")
    public void exportMailProvinceDistributionList() {
        evStatisticsService.exportMailProvinceDistributionList();
    }

    @JobExecutor(name = "export_mail_vehicles_on_line")
    public void exportMailVehiclesOnLineList() {
        evStatisticsService.exportMailVehiclesOnLineList();
    }

    @JobExecutor(name = "export_mail_vehicles_model_list")
    public void exportMailVehiclesModelList() {
        evStatisticsService.exportMailVehiclesModelList();
    }

    @JobExecutor(name = "export_mail_vehicles_energy_list")
    public void exportMailVehiclesEnergyList() {
        evStatisticsService.exportMailVehiclesEnergyList();
    }


    @JobExecutor(name = "export_mail_agg_vehicle_message")
    public void exportMailAggVehicleMessage() {
        vehicleMessageDailyService.exportMailAggVehicleMessage();
    }

}
